import { eventMap } from "../event/eventMap"

function _mountStructure() {
    Object.assign(StructureWall.prototype, extension)
}

const extension = {
    taskPool: [],
    init: function (params = {}) {
        const { taskPool = [] } = params
        this.taskPool = taskPool
    },
    /**自检并执行任务*/
    run: function () {
        let objMemory = Memory.rooms[this.pos.roomName]['structure'][this.structureType][this.id]
        if (!objMemory.isRuning) {
            let isRuning = false
            // 非运行中，可执行任务
            if (objMemory.publishTask.length == 0) {
                // 未发布任务，则进入自检，根据自检结果，判断是否发布任务
            }
            if (!isRuning) {
                // 无任务，则进入休眠状态，一段时间后自动唤醒
                objMemory.isRuning = true
                eventManager.add(`${this.name}进入休眠,等待唤醒`, 10, eventMap.objToSleep, { objID: this.id })
            }
        }
    },
    /**更新自身状态 */
    checkSelf: function () {
        console.log('自检的建筑物为' + JSON.stringify(this.name ? this.name : this.id));
    },
    /**更新当前建筑的生命值 */
    checkSelfHits: function () {
        console.log(`当前建筑${this.name ? this.name : this.id}的生命值${this.hits ? this.hits : '*'}`);
    },
    /**获取任务 */
    getTask: function () {

    },
    /**自检并推送任务 */
    pushTask: function () {

    },
    test:function(){
        console.log(`测试原型方法是否加载`);
    }
}



export default _mountStructure